package collection;

import java.util.Deque;
import java.util.LinkedList;

/**
 * 栈结构
 * 栈可以保存一组元素，但是存取元素必须遵循先进后出原则.FILO(First Input , Last Out)
 * Deque双端队列如果只调用从同一侧做出入队操作时就形成了栈结构。因此双端队列也
 * 为栈提供了两个经典的方法名: push(入栈),pop(出栈)
 *
 * 通常我们使用栈结构用来完成如”后退"这样的功能。
 */
public class StackDemo {
    public static void main(String[] args) {
        Deque<String> stack = new LinkedList<>();
        stack.push("one");
        stack.push("two");
        stack.push("three");
        stack.push("four");
        System.out.println(stack);

        String e = stack.pop();
        System.out.println(e);
        System.out.println(stack);


        while (stack.size()>0){
            e = stack.pop();
            System.out.println(e);
        }
    }
}
